#ifndef INTERFACE_CNC_COMM_KEYBOARD_H
#define INTERFACE_CNC_COMM_KEYBOARD_H

// include files
#include "kbdcmd.h"

namespace cnc {

namespace comm {

struct Keyboard
{
	virtual bool getCommand(KbdCommand *kdbCmd) = 0;
	// setState returns true if the option can be set
	virtual bool setState(int category, int option) = 0;
	// getState returns -1 if the category and state pair can not be queried
	virtual int getState(int category, int option = -1) = 0;
};

} // namespace comm

} // namespace cnc

#endif
